Many modern processors have support for vector operations. Vectors may include data grouped into elements, e.g., bits, bytes or larger elements. In processing a vector, designated elements may be eliminated from consideration by blocking a corresponding output of executing an operation on the designated elements. Each of the designated elements may have its output blocked or suppressed in a given manner. Although the output of executing an operation on a designated element may be suppressed, the operation may be still be performed on the designated element, which may result in a fault. For instance, an arithmetic fault may be generated due to an illegal operation, such as division of the designated element by zero.
Faults can have a significant impact on execution time of a program. In order to improve the execution time, analysis may be conducted to determine the origin of faults that cause delays in execution. If faults are hidden due to suppression, optimization of the code to reduce execution time becomes difficult, because detailed information is unavailable that may indicate reasons for a slowdown of the program execution.